技术文档丨如何构建和释放你的Docker容器
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。
以下,ENJOY
构建Apollo的系统需求是Ubuntu 14.04。使用Docker容器是为Apollo项目设置构建环境的最简单方法。一个详细的Docker教程可以在《这里》找到。
要安装Docker,可以参考《官方的安装指南Docker-ce》。不要忘记使用《Linux安装后步骤》对其进行测试。
我们提供了一个名为dev-latest的构建映像。该容器将安装到您本地的Apollo镜像地址 /Apollo。
bash docker/scripts/dev_start.sh
bash docker/scripts/dev_into.sh
bash apollo.sh build
注意:如果你没有GPU,你可以采用以下的脚本。
bash apollo.sh build_cpu
注意:如果你的电脑很慢,你可以输入以下命令来限制CPU。
bash apollo.sh build --local_resources 2048,1.0,1.0
1. 如果在这一点上,你没有一个可以设置的车辆或者你想确认Apollo已经正确地构建出来,请继续《如何启动并运行Apollo》。
2. 如果您有可安装的车辆,请继续回到我们的《软件安装指南》。
安装基于Debian/Ubuntu发行版的最简单方法是从https://code.visualstudio.com下载并安装。deb包(64位),如果有的话,可以通过图形软件中心安装,也可以通过以下命令行安装:
sudo dpkg -i .deb
sudo apt-get install -f
<左右滑动以查看完整代码>
使用以下命令启动VSCode。
code
使用键盘快捷键(Ctrl+K Ctrl+0)打开Apollo项目。
使用键盘快捷键(Ctrl+Shift+B)来构建Apollo项目。
选择“任务->运行任务...”菜单命令,并点击“运行所有单元测试的Apollo Proiect”从弹出菜单检查代码风格的Apollo项目。
如果您目前正在开发16.04,您将得到一个构建错误。如下图所示,进行了两次感知测试。为了避免这个构建错误,请参考如何构建《Apollo using Ubuntu 16》。
选择“任务->运行任务...”菜单命令,从弹出菜单中点击“Apollo项目的代码样式检查”,检查Apollo项目的代码样式。
选择“任务->运行任务...”菜单命令,并点击“清理Apollo项目”从弹出菜单中清理Apollo项目。
您可以将“Build”选项更改为另一个选项,比如“Build GPU”(详情请参考“Apollo.sh”文件)在"vscode/tasks.json"中。
bash docker/scripts/release_start.sh
<左右滑动以查看完整代码>
HMI将自动启动,您可以通过输入IP地址和端口号(如localhost:8887),通过任何Web浏览器控制每个Apollo模块。如果需要修复,您可以进入发布容器。
bash docker/scripts/release_into.sh
您所建立的Docker映像可能包含ESD电子公司(以下简称ESD)提供的ESD CAN库文件,您应该通过与ESD的许可协议获得这些文件。许可协议授予您(作为个人或商业实体)使用ESD提供的上述软件的权利;但是,您可能(很有可能)需要ESD提供明确的重新发布许可,以便发布Docker映像供其他第三方使用。该许可协议仅在您和ESD之间,不受Apollo项目许可条款的约束(见Apollo top目录下的文件许可)。
*《这里》
https://docs.docker.com/
*《官方安装指南Docker-ce》
https://docs.docker.com/install/linux/docker-ce/ubuntu/
*《Linux安装后步骤》
https://docs.docker.com/install/linux/linux-postinstall/
*《如何启动并运行Apollo》
https://github.com/ApolloAuto/apollo/blob/master/docs/howto/how_to_launch_Apollo.md
*《软件安装指南》
https://github.com/ApolloAuto/apollo/blob/master/docs/quickstart/apollo_software_installation_guide.md
*《Apollo using Ubuntu 16》
https://github.com/ApolloAuto/apollo/blob/master/docs/howto/how_to_run_apollo_2.5_with_ubuntu16.md
更多话题讨论、技术交流
可以添加『Apollo小哥哥』为好友
进开发者交流群